LOADING...

加载过慢请开启缓存(浏览器默认开启)

loading

DialogueRobot

2021/9/23

对话机器人

最近原本想整一个对话机器人的,但是后续没有时间,记录一下踩过的一些坑和学到的一些知识吧。

安装ChatterBot

github链接:https://github.com/gunthercox/ChatterBot

1.创建anaconda环境,python3.8以下

我是直接用3.7,原因是源码中用了time.clock。

而从python3.8开始,time模块下不支持clock了。

所以如果用3.8以上运行代码就会报错。

2.先手动安装scapy

不要直接pip install chatterbot,因为里面有个难缠的scapy。

如果你直接安装他也是卡在安装scapy那里,然后满屏报错,不断降版本。

所以干脆我们先把低版本安装了,使用

conda install spacy==2.0.12

3.安装ChatterBot

pip install chatterbot

运行程序,解决报错

库安装好了,README有运行demo,如下。

from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer

chatbot = ChatBot('Ron Obvious')

# Create a new trainer for the chatbot
trainer = ChatterBotCorpusTrainer(chatbot)

# Train the chatbot based on the english corpus
trainer.train("chatterbot.corpus.english")

# Get a response to an input statement
chatbot.get_response("Hello, how are you today?")

错误1

OSError: [E050] Can’t find model ‘en’. It doesn’t seem to be a shortcut link, a Python package or a valid path to a data directory.

报错原因:没有en

解决办法:

python -m spacy download en 

Tips

1.强调!用管理员权限打开anaconda,不然下好了也会出现Error: Couldn’t link model to 'en’的情况。

2.会报连接错误的,多试几次多换网试一下。

3.试过将文件下载到本地然后pip下载,会报错,不知道为什么不行。链接如下

https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.0.0/en_core_web_sm-2.0.0.tar.gz

错误2

chatterbot.exceptions.OptionalDependencyImportError: Unable to import “yaml”.
Please install “pyyaml” to enable chatterbot corpus functionality:
pip3 install pyyaml

报错原因:没有pyyaml

解决办法:

pip3 install pyyaml

错误3

FileNotFoundError: [Errno 2] No such file or directory: ‘你的路径\chatterbot_corpus\data\english’

报错原因:没有训练的数据。需要去下载,

解决方法:手动去链接下载,然后放到你的路径或者代码运行路径

链接:https://github.com/gunthercox/chatterbot-corpus

代码运行路径可以通过以下方式获取

import os
abspath = os.getcwd()  # 获取当前路径
print(abspath)

搞定了√ 可以正常运行。

不够这个语音助手特别依赖语料库,语料库质量不好就…很人工智障。

但是我也没有找到特别好的语料库,点进去质量都不是很好,很多答非所问。


原理参考:https://blog.csdn.net/langsiming/article/details/103838855

改进参考:https://zhuanlan.zhihu.com/p/34927757

语料参考:https://github.com/candlewill/Dialog_Corpushttps://github.com/codemayq/chinese_chatbot_corpus

关于多种语音助手可以参考:https://blog.csdn.net/tian_panda/article/details/80664578


关于语音助手好像都是比较老的文章了,看到的都是2017附近的文章。

找到了一个较新的,2021年5月份还有更新的。

看了一下README,好像效果也不错的,未来有需要的话可以试一试。

链接:https://github.com/yangjianxin1/GPT2-chitchat